1. Field of the Invention
The present invention relates to a method, system and computer program product for providing application progress. More particularly, the present invention relates to a progress notification system for reporting processing progress of multi-threaded data mining operations at regular intervals.
2. Description of the Prior Art
Generally, software that performs computation intensive tasks, such as data mining operations implementing data analysis algorithms, provided progress notification in order to inform users of how far the algorithms have progressed in their processing. Current methods of reporting how far algorithms have progressed in their processing don't allow users to manage their time or system resources as effectively as they could. It can also leave users frustrated. Current methods of progress reporting instrument the algorithms in such a way that reporting frequency depends on data size and characteristics. One of the reasons for this is that the frequency of reporting on how far algorithms have progressed in their processing can vary significantly. This occurs as a result of (1) variations in the size of data sets on which processing is being performed and (2) type of algorithm selected, and specific user-provided algorithm parameters. Also, reporting of progress for larger data sets occurs with less frequency than reporting of progress for smaller data sets.
Another reason current methods leave users frustrated is that inaccurate reporting of how far algorithms have progressed in their processing takes place. Inaccurate progress reporting occurs when an estimate of how long a processing activity should take is utilized to determine the actual progress of processing activity, but the estimate is incorrect or the processing completes faster or slower than the estimate. Accordingly, reported progress of processing activity can differ substantially from the actual progress of the processing activity.
An additional reason for leaving users frustrated is the lack of descriptive and detailed information provided to users regarding how far algorithms have progressed in their processing. The information regarding how far algorithms have progressed is generally limited to percentage of processing completed. Accordingly, a user is not adequately informed to facilitate an understanding of the various algorithms' states of processing.
Accordingly, there is a need for a progress notification system for data mining operations. There is an additional need for the progress notification system to report progress at regular intervals, independent of data mining analysis algorithms. There is also a need for the progress notification system to report progress with accuracy. There is a further need for the progress notification system to provide detailed descriptive information pertaining to progress. There is an additional need for the progress notification system to operate with algorithms that are multi-threaded.